package com.hb.study.design_patterns.prototype;

/**
 * 原型模式测试
 * 采用内存复制的方式，来复制对象，跳过了构造方法
 * 属于浅拷贝，当类包含复杂成员，例如一个ArrayList的时候，这个成员是不会复制的，拷贝前后的对象所拥有的都是这个ArrayList对象，存在风险
 * 要想深拷贝，必须连复杂对象一起拷贝
 *
 * @author Mr.Huang
 * @version v0.1, PrototypeMain.java, 2020/5/15 14:01, create by huangbiao.
 */
public class PrototypeMain {

    public static void main(String[] args) throws CloneNotSupportedException {

        PrototypeModel prototypeModel = new PrototypeModel(18);
        prototypeModel.addValue("zhangsan");

        PrototypeModel clone = prototypeModel.clone();
        clone.addValue("lisi");

        System.out.println("复制后的对象：" + clone);
        System.out.println("复制前的对象：" + prototypeModel);

    }

}

    